import projetjee.*


class BootStrap {

    def init = { servletContext ->
		
		def adminRole = new Role(authority: 'ROLE_ADMIN').save(flush: true)
		def userRole = new Role(authority: 'ROLE_USER').save(flush: true)
		
		if(!User.count()) {
			new User(username:'blink',  enabled: true, password:'admin', nom:'Bonnet', prenom:'Jonathan', mail:'johndu12@hotmail.fr', sexe:'H', bio:'Etudiant', dateNaissance: new Date(90, 7, 15), photoProfil:'[1,1,1,1]').save(failOnError:true)
			new User(username:'benJ', enabled: true, password:'admin', nom:'Brion', prenom:'Benjamin', mail:'bjm.brion@gmail.com', sexe:'H', bio:'Etudiant', dateNaissance: new Date(89, 7, 5), photoProfil:'[1,1,1,1]').save(failOnError:true)
			new User(username:'Angy', enabled: true, password:'user', nom:'Jolie', prenom:'Angelina', mail:'test1@gmail.com', sexe:'F', bio:'Actrice', dateNaissance: new Date(75, 5, 4), photoProfil:'[1,1,1,1]').save(failOnError:true)
			new User(username:'Brady', enabled: true, password:'user', nom:'Pitt', prenom:'Brad', mail:'test2@gmail.com', sexe:'H', bio:'Acteur', dateNaissance: new Date(63, 11, 18), photoProfil:'[1,1,1,1]').save(failOnError:true)
			new User(username:'Jacky', enabled: true, password:'user', nom:'Depp', prenom:'Johnny', mail:'test3@gmail.com', sexe:'H', bio:'Acteur', dateNaissance: new Date(63, 5, 9), photoProfil:'[1,1,1,1]').save(failOnError:true)
			new User(username:'Kevin', enabled: true, password:'user', nom:'Kevin', prenom:'Smooth', mail:'test4@gmail.com', sexe:'H', bio:'Deconneur', dateNaissance: new Date(54, 3, 7), photoProfil:'[1,1,1,1]').save(failOnError:true)
			new User(username:'Phillipe', enabled: true, password:'user', nom:'Phillipe', prenom:'Gontran', mail:'test5@gmail.com', sexe:'H', bio:'Acteur', dateNaissance: new Date(62, 6, 3), photoProfil:'[1,1,1,1]').save(failOnError:true)
			new User(username:'Robert', enabled: true, password:'user', nom:'Robert', prenom:'Julian', mail:'test6@gmail.com', sexe:'F', bio:'Actrice', dateNaissance: new Date(81, 3, 28), photoProfil:'[1,1,1,1]').save(failOnError:true)
			new User(username:'Gustave', enabled: true, password:'user', nom:'Gustave', prenom:'Hobert', mail:'test7@gmail.com', sexe:'F', bio:'Actrice', dateNaissance: new Date(89, 7, 21), photoProfil:'[1,1,1,1]').save(failOnError:true)
		}
		
		if(!Activite.count()) {
			new Activite(nom:'Footballeur', description:'Je fais du foot a la fac').save(failOnError:true)
			new Activite(nom:'Gentlemen', description:'Je suis gentil avec les filles').save(failOnError:true)
			new Activite(nom:'Travailleur', description:'Je travaille beaucoup').save(failOnError:true)
			new Activite(nom:'Actrice', description:'Je joue dans des films').save(failOnError:true)
			new Activite(nom:'Acteur', description:'Je joue dans des films').save(failOnError:true)
			
		}
		
		if(!Relationship.count()) {
			new Relationship(name:'Universite Paul Sabatier', createur: User.findByUsername('benJ')).save(failOnError:true)
			new Relationship(name:'Bonnet & Brion Corporation', createur: User.findByUsername('benJ')).save(failOnError:true)
		}
		
		Relationship.findByName('Bonnet & Brion Corporation').addToSubscribers(User.findByUsername('benJ'))
		Relationship.findByName('Bonnet & Brion Corporation').addToSubscribers(User.findByUsername('blink'))
		
		User.findByUsername('blink').addToCentreInteret(Activite.findByNom('Gentlemen'))
		User.findByUsername('benJ').addToCentreInteret(Activite.findByNom('Footballeur'))
		User.findByUsername('blink').addToCentreInteret(Activite.findByNom('Travailleur'))
		User.findByUsername('benJ').addToCentreInteret(Activite.findByNom('Travailleur'))
		User.findByUsername('Angy').addToCentreInteret(Activite.findByNom('Actrice'))
		User.findByUsername('TheLegs').addToCentreInteret(Activite.findByNom('Actrice'))
		User.findByUsername('Cheerleader').addToCentreInteret(Activite.findByNom('Actrice'))
		User.findByUsername('Brady').addToCentreInteret(Activite.findByNom('Acteur'))
		User.findByUsername('Jacky').addToCentreInteret(Activite.findByNom('Acteur'))
		User.findByUsername('LeChinetok').addToCentreInteret(Activite.findByNom('Acteur'))
		User.findByUsername('LaSecte').addToCentreInteret(Activite.findByNom('Acteur'))
		//def testUser = new User(username: 'me', enabled: true, password: 'password')
		//testUser.save(flush: true)
		
		UserRole.create User.findByUsername('blink'), adminRole, true
		UserRole.create User.findByUsername('benJ'), adminRole, true
		UserRole.create User.findByUsername('Angy'), userRole, true
		UserRole.create User.findByUsername('Brady'), userRole, true
		UserRole.create User.findByUsername('Jacky'), userRole, true
		UserRole.create User.findByUsername('LeChinetok'), userRole, true
		UserRole.create User.findByUsername('LaSecte'), userRole, true
		UserRole.create User.findByUsername('TheLegs'), userRole, true
		UserRole.create User.findByUsername('Cheerleader'), userRole, true
		
		//assert User.count() == 1
		//assert Role.count() == 2
		//assert UserRole.count() == 1
		
		
    }
    def destroy = {
    }
}
